// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'

// 1. 引入路由
import router from './router/router.js'

// 2. 引入 element
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css' // 引入css 直接引入即可,不需要接受任何模块

// 3. 引入 axios 处理axiosd的问题
import axios from 'axios'

// 4. 引入树结构插件
// var ElTreeGrid = require('element-tree-grid')
import ElTreeGrid from 'element-tree-grid'
Vue.component(ElTreeGrid.name, ElTreeGrid)

// 处理问题1 : 基路径问题
axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'
// 处理问题2 : 使用原型
Vue.prototype.$axios = axios // ==> this.$axios
// 处理问题3 : 每次都携带token
// 方式1 :
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token')
// 方式2 : 拦截器
axios.interceptors.request.use(
  function (config) {
    config.headers.Authorization = localStorage.getItem('token')

    return config
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error)
  }
)

// headers: {
//   Authorization: localStorage.getItem('token')
// }

// 2.vue安装 一下
Vue.use(ElementUI)

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
